﻿
Imports System.Data
Imports EVOLTA.Promocion.Bl.Be
Imports EVOLTA.Promocion.Bl.Bc

Partial Class reportes_reporteProformas_x_visitas
    Inherits System.Web.UI.Page

#Region "Instancias a las Capas de Entidad y Negocio"

    Dim objnegVendedor As New EVOLTA.Promocion.Bl.Bc.Rvendedor
    Dim objnegSeparacionVenta As New EVOLTA.Promocion.Bl.Bc.RseparacionVenta

#End Region

#Region "Variables Globales"
    Public dtbInformacion As New DataTable
#End Region

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.hdfFechaCierre.Value = Date.Now.ToShortDateString()

        If (Not Page.IsPostBack) And (Request.Params("__EVENTTARGET") Is Nothing) Then
            Me.Cargar_vendedores()

            ' Reinicializando controles
            Me.lblSubTitulo2.ForeColor = Drawing.Color.Red
            Me.lblSubTitulo3.Text = String.Empty
            Me.lnkBtnExportar.Enabled = False
        Else
            If Me.txtFechaIni.Text.Trim.Equals(String.Empty) Or Me.txtFechaFin.Text.Trim.Equals(String.Empty) Then
                Me.lblSubTitulo2.Text = String.Empty
                Me.lnkBtnExportar.Enabled = False
                Me.lblSubTitulo3.Text = "Para realizar una consulta debe de seleccionar una fecha de inicio y fecha de fin."
                Me.lblSubTitulo3.ForeColor = Drawing.Color.Red
            Else
                Me.lnkBtnExportar.Enabled = True
                Me.lblSubTitulo2.ForeColor = Drawing.Color.Black
                Me.lblSubTitulo3.ForeColor = Drawing.Color.Black

                Dim strSubtitulo2 As String = String.Empty
                Dim strSubtitulo3 As String = String.Empty

                If Me.ddlVendedor.SelectedItem.Value.ToString.Equals("%") Then
                    strSubtitulo2 = "Información correspondiente a TODOS los vendedores"
                Else
                    strSubtitulo2 = "Información correspondiente al vendedor " & Me.ddlVendedor.SelectedItem.Text & ""
                End If

                If Me.txtNombreCliente.Text.Trim.Equals(String.Empty) Then
                    strSubtitulo2 = strSubtitulo2 & " y a TODOS los clientes"
                Else
                    strSubtitulo2 = strSubtitulo2 & " y Filtrado por Nombre de Cliente: " & Me.txtNombreCliente.Text.Trim.ToUpper()
                End If

                strSubtitulo3 = "Información con Fecha de Inicio " & Me.txtFechaIni.Text & " y Fecha de Fin " & Me.txtFechaFin.Text

                Me.lblSubTitulo2.Text = strSubtitulo2
                Me.lblSubTitulo3.Text = strSubtitulo3

                Me.cargarInformacion()

                ViewState("vst_subtitulo_2") = Me.lblSubTitulo2.Text
                ViewState("vst_subtitulo_3") = Me.lblSubTitulo3.Text
            End If
        End If
    End Sub

    Private Sub Cargar_vendedores()
        Dim dtbVendedores As New DataTable
        dtbVendedores = objnegVendedor.negCargar_vendedores(Me.Master.descEmpresa.Trim)

        Me.ddlVendedor.DataSource = dtbVendedores
        Me.ddlVendedor.DataTextField = "Nombre"
        Me.ddlVendedor.DataValueField = "Id"
        Me.ddlVendedor.DataBind()
    End Sub

    Private Sub cargarInformacion()
        Dim strVendedorId As String = Me.ddlVendedor.SelectedItem.Value.ToString()
        Dim strFechaInicio As String = Me.txtFechaIni.Text
        Dim strFechaFin As String = Me.txtFechaFin.Text
        Dim strNombreCliente As String = Me.txtNombreCliente.Text.Trim()

        Me.dtbInformacion = objnegSeparacionVenta.negCargar_reporte_proformas_x_visitas(Me.Master.descEmpresa.Trim, Me.Master.idProyecto, Me.Master.idEtapa, strVendedorId, strFechaInicio, strFechaFin, strNombreCliente)

        If Me.dtbInformacion.Rows.Count > 0 Then
            Me.rptReporteGlobal.DataSource = Me.dtbInformacion
            Me.rptReporteGlobal.DataBind()

            'N°	Nombre Cliente	N° visitas	DNI	Teléfonos	Correo Electrónico	Rango edad	Cómo se enteró	Forma de contacto	Motivo compra	Distrito procedencia	Observación	Vendedor	ID VENTA


            ' Líneas de código para hacer posible la exportación
            Dim dtbExportar As New DataTable
            dtbExportar.Columns.Add("N°")
            dtbExportar.Columns.Add("Etapa")
            dtbExportar.Columns.Add("Nombre Cliente")
            dtbExportar.Columns.Add("N° Visitas")
            dtbExportar.Columns.Add("Fecha")
            dtbExportar.Columns.Add("DNI")
            dtbExportar.Columns.Add("Telefonos")
            dtbExportar.Columns.Add("Correo Electronico")
            'dtbExportar.Columns.Add("Rango Edad")
            dtbExportar.Columns.Add("Como se Entero")
            dtbExportar.Columns.Add("Forma de Contacto")
            'dtbExportar.Columns.Add("Motivo de Compra")
            dtbExportar.Columns.Add("Distrito de Procedencia")
            dtbExportar.Columns.Add("Dpto")
            dtbExportar.Columns.Add("Area Construida")
            dtbExportar.Columns.Add("Vendedor")
            dtbExportar.Columns.Add("Observacion")
            'dtbExportar.Columns.Add("Vendedor")
            'dtbExportar.Columns.Add("ID Venta")

            Dim drwFila As DataRow

            For i As Integer = 0 To Me.dtbInformacion.Rows.Count - 1
                drwFila = dtbExportar.NewRow()
                drwFila("N°") = Me.dtbInformacion.Rows(i)("Nro").ToString()
                drwFila("Etapa") = Me.dtbInformacion.Rows(i)("Etapa").ToString()
                drwFila("Nombre Cliente") = Me.dtbInformacion.Rows(i)("Cliente").ToString()
                drwFila("N° Visitas") = Me.dtbInformacion.Rows(i)("Nro Visitas").ToString()
                drwFila("Fecha") = Me.dtbInformacion.Rows(i)("Fecha").ToString()
                drwFila("DNI") = Me.dtbInformacion.Rows(i)("DNI").ToString()
                drwFila("Telefonos") = Me.dtbInformacion.Rows(i)("Telefono").ToString()
                drwFila("Correo Electronico") = Me.dtbInformacion.Rows(i)("Correo Electronico").ToString()
                'drwFila("Rango Edad") = Me.dtbInformacion.Rows(i)("Rango Edad").ToString()
                drwFila("Como se Entero") = Me.dtbInformacion.Rows(i)("Como se Entero").ToString()
                drwFila("Forma de Contacto") = Me.dtbInformacion.Rows(i)("Forma de Contacto").ToString()
                'drwFila("Motivo de Compra") = Me.dtbInformacion.Rows(i)("Motivo Compra").ToString()
                drwFila("Distrito de Procedencia") = Me.dtbInformacion.Rows(i)("Distrito Procedencia").ToString()
                drwFila("Dpto") = Me.dtbInformacion.Rows(i)("Dpto").ToString()
                drwFila("Area Construida") = Me.dtbInformacion.Rows(i)("Area Construida").ToString()
                drwFila("Vendedor") = Me.dtbInformacion.Rows(i)("Vendedor").ToString()
                drwFila("Observacion") = Me.dtbInformacion.Rows(i)("Observacion").ToString()
                'drwFila("Vendedor") = Me.dtbInformacion.Rows(i)("Vendedor").ToString()
                'drwFila("ID Venta") = Me.dtbInformacion.Rows(i)("ID Venta").ToString()
                dtbExportar.Rows.Add(drwFila)
            Next

            Session("ssn_Exportar") = dtbExportar
        End If
    End Sub

    Protected Sub lnkBtnExportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkBtnExportar.Click
        Dim strNombreArchivo As String = "Reporte por Visitas - " & System.Globalization.CultureInfo.CurrentUICulture.TextInfo.ToTitleCase(Me.Master.descEmpresa.Trim) & "_" & Microsoft.VisualBasic.Right("0" & Date.Now.Day.ToString(), 2) & Microsoft.VisualBasic.Right("0" & Date.Now.Month.ToString(), 2) & Date.Now.Year.ToString() & "_" & Microsoft.VisualBasic.Right("0" & Date.Now.Hour.ToString(), 2) & Microsoft.VisualBasic.Right("0" & Date.Now.Minute.ToString(), 2) & Microsoft.VisualBasic.Right("0" & Date.Now.Second.ToString(), 2)
        Dim strTituloHoja As String = "REPORTE POR VISITAS - " & Me.Master.descProyecto.Trim.ToUpper()
        Dim strSubTituloHoja As String = ViewState("vst_subtitulo_2").ToString()

        Dim dtbInformacion As New DataTable

        dtbInformacion = Session("ssn_Exportar")

        If dtbInformacion.Rows.Count > 0 Then
            Dim objInfraestructura As New Infraestructura
            Dim strOpcionalCabecera As String = String.Empty

            Dim strSubtitulo3 As String = ViewState("vst_subtitulo_3").ToString()

            strOpcionalCabecera = "<tr><th colspan=""" & dtbInformacion.Columns.Count & """>" & strSubtitulo3 & "</th></tr>"
            objInfraestructura.Exportar_a_excel(strNombreArchivo, strTituloHoja, strSubTituloHoja, dtbInformacion, Nothing, strOpcionalCabecera)
        End If
    End Sub

    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Me.ModalPopupExtender.Hide()
    End Sub

End Class
